#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> // for isspace

// 手动计算字符串长度
int my_strlen(const char *str) {
    int length = 0;
    while (str[length] != '\0') {
        length++;
    }
    return length;
}

// 构建部分匹配表（LPS数组）
void computeLPSArray(const char *pattern, int M, int *lps) {
    int len = 0;
    lps[0] = 0;
    int i = 1;

    while (i < M) {
        if (pattern[i] == pattern[len]) {
            len++;
            lps[i] = len;
            i++;
        } else {
            if (len != 0) {
                len = lps[len - 1];
            } else {
                lps[i] = 0;
                i++;
            }
        }
    }

    // // 调试信息
    // printf("LPS Array: ");
    // for (int k = 0; k < M; k++) {
    //     printf("%d ", lps[k]);
    // }
    // printf("\n");
}

// KMP算法实现字符串匹配
int KMPSearch(const char *text, const char *pattern) {
    int N = my_strlen(text);
    int M = my_strlen(pattern);

    if (M == 0) {
        return 1; // 空模式串，认为匹配成功
    }

    int *lps = (int *)malloc(M * sizeof(int));
    if (lps == NULL) {
        return 0; // 内存分配失败
    }

    computeLPSArray(pattern, M, lps);

    int i = 0;
    int j = 0;
    while (i < N) {
        if (pattern[j] == text[i]) {
            j++;
            i++;
        }

        if (j == M) {
//            printf("Match found at index %d\n", i - j); // 调试信息
            free(lps);
            return i - j + 1; // 返回匹配起始位置（从1开始计数）
        } else if (i < N && pattern[j] != text[i]) {
            if (j != 0) {
                j = lps[j - 1];
            } else {
                i++;
            }
        }
    }

    free(lps);
    return 0; // 未找到匹配
}

// 去除字符串末尾的所有不可见字符
void trim(char *str) {
    int i;
    for (i = my_strlen(str) - 1; i >= 0 && isspace((unsigned char)str[i]); i--) {
        str[i] = '\0';
    }
}

int main() {
    char s[100], t[50];

    while (1) {
        // 使用 fgets 读取包含空格的字符串
        if (fgets(s, sizeof(s), stdin) == NULL) {
            break;
        }
        if (fgets(t, sizeof(t), stdin) == NULL) {
            break;
        }

        // 去掉 fgets 读取的不可见字符
        trim(s);
        trim(t);

        // 调试信息
        // printf("Text: '%s'\n", s);
        // printf("Pattern: '%s'\n", t);

        // 调用 KMPSearch 函数
        int result = KMPSearch(s, t);

        // 输出结果
//        printf("Result: %d\n", result);

        printf("%d\n", result);

    }

    return 0;
}